package com.ymm.platform.dao.mapper;

import com.ymm.platform.api.constants.dto.LltorderDetailsDTO;
import com.ymm.platform.api.constants.dto.QueryShipperDTO;
import com.ymm.platform.api.constants.entity.CargoEntity;
import com.ymm.platform.api.constants.entity.DriverEntity;
import com.ymm.platform.api.constants.entity.ShipperEntity;
import com.ymm.platform.api.utils.Result;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Company: CUG
 * @Description: TODO
 * @Author: chencong
 * @Date: 2022-08-13 16:23
 **/
@Mapper
public interface QueryShipperMapper {

    List<ShipperEntity> queryAllShipper();


    List<ShipperEntity> queryShipperOnName(@Param("shipperNickName") String shipperNickName);

    List<ShipperEntity> queryShipperOnPhone(@Param("shipperPhoneNumber") String shipperPhoneNumber);

    Long queryShipperCompleteOrder(@Param("shipperId")Long shipperId);

    List<LltorderDetailsDTO> queryShipperCompleteOrderList(@Param("shipperId")Long shipperId);

    Long queryShipperUncompleteOrder(@Param("shipperId")Long shipperId);

    List<LltorderDetailsDTO> queryShipperUncompleteOrderList(@Param("shipperId")Long shipperId);

    Long queryShipperTotalShipments(@Param("shipperId")Long shipperId);

    List<CargoEntity> queryShipperPublishCargo(@Param("shipperId")Long shipperId);

    List<ShipperEntity> queryShipperOnCondition(QueryShipperDTO queryShipperDTO);

    List<ShipperEntity> sortShipperByVipTypeD();

    List<ShipperEntity> sortShipperByVipTypeA();




}
